package decimal

import (
	"fmt"
	"github.com/shopspring/decimal"
)

// CompareFloatStrings 比较两个表示浮点数的字符串
// 返回 -1 表示 str1 < str2, 0 表示 str1 == str2, 1 表示 str1 > str2
func CompareFloatStrings(str1, str2 string) (int, error) {
	d1, err := decimal.NewFromString(str1)
	if err != nil {
		return 0, fmt.Errorf("invalid number: %s", str1)
	}

	d2, err := decimal.NewFromString(str2)
	if err != nil {
		return 0, fmt.Errorf("invalid number: %s", str2)
	}

	if d1.LessThan(d2) {
		return -1, nil
	} else if d1.GreaterThan(d2) {
		return 1, nil
	}
	return 0, nil
}
